Attribute Macros

Wraps the annotated function with a lock that is released when the function is returned.